export default class TencentOcrResultModel {
    get Angle(): number {
        return this._angle;
    }

    set Angle(value: number) {
        this._angle = value;
    }

    get Data(): string {
        return this._data;
    }

    set Data(value: string) {
        this._data = value;
    }

    get PdfPageSize(): number {
        return this._pdfPageSize;
    }

    set PdfPageSize(value: number) {
        this._pdfPageSize = value;
    }

    get RequestId(): string {
        return this._requestId;
    }

    set RequestId(value: string) {
        this._requestId = value;
    }

    get TableDetections(): TableDetection[] {
        return this._tableDetections;
    }

    set TableDetections(value: TableDetection[]) {
        this._tableDetections = value;
    }

    private _angle!: number;
    private _data!: string;
    private _pdfPageSize !: number;
    private _requestId !: string;
    private _tableDetections !: TableDetection[];
}

export class TableDetection {
    get Type(): number {
        return this._type;
    }

    set Type(value: number) {
        this._type = value;
    }

    get TableCoordPoint(): Coords[] {
        return this._tableCoordPoint;
    }

    set TableCoordPoint(value: Coords[]) {
        this._tableCoordPoint = value;
    }

    get Cells(): TableCell[] {
        return this._cells;
    }

    set Cells(value: TableCell[]) {
        this._cells = value;
    }

    private _type !: number;
    private _tableCoordPoint !: Coords[];
    private _cells !: TableCell[];
}

export class TableCell {
    get ColBr(): number {
        return this._colBr;
    }

    set ColBr(value: number) {
        this._colBr = value;
    }

    get ColTl(): number {
        return this._colTl;
    }

    set ColTl(value: number) {
        this._colTl = value;
    }

    get Confidence(): number {
        return this._confidence;
    }

    set Confidence(value: number) {
        this._confidence = value;
    }

    get Polygon(): Coords[] {
        return this._polygon;
    }

    set Polygon(value: Coords[]) {
        this._polygon = value;
    }

    get RowBr(): number {
        return this._rowBr;
    }

    set RowBr(value: number) {
        this._rowBr = value;
    }

    get RowTl(): number {
        return this._rowTl;
    }

    set RowTl(value: number) {
        this._rowTl = value;
    }

    get Text(): string {
        return this._text;
    }

    set Text(value: string) {
        this._text = value;
    }

    get Type(): string {
        return this._type;
    }

    set Type(value: string) {
        this._type = value;
    }

    private _colBr!: number
    private _colTl!: number
    private _confidence!: number
    private _polygon!: Coords[]
    private _rowBr!: number
    private _rowTl!: number
    private _text!: string
    private _type!: string
}

export class Coords {
    get X(): number {
        return this._x;
    }

    set X(value: number) {
        this._x = value;
    }

    get Y(): number {
        return this._y;
    }

    set Y(value: number) {
        this._y = value;
    }

    private _x !: number;
    private _y !: number;
}